题
我正在尝试编写一个简单的游戏/实用程序来计算扑克赔率。我知道有很多资源讨论了这样做的公式,但我想我无法将其转换为代码。特别是,我对Texas Hold-em感兴趣...
我知道有几种不同的方法,一种方法是你可以根据你能看到的牌来计算你手牌的几率。另一种方法是计算你赢得某手牌的几率。第二种方法似乎要复杂得多,因为你必须输入更多的数据(有多少玩家等)
我不是要求你为我写这篇文章,但是一些正确方向的推动会有所帮助: - )
解决方案
以下是文章的一些链接,可以作为起点: C#中的扑克逻辑和快速,德州扑克手评估和分析
<!> quot;此代码片段可让您使用C#和.NET以艰难的方式计算扑克概率。<!>
理论基础在这个维基百科有关扑克概率的文章中给出,在这个优秀的统计教程中。
使用Objective-C,Java,C / C ++或Python编写的完整项目示例位于 SpecialKEval 。其他链接和阅读可以在其中找到。
其他提示
蒙特卡罗模拟是获得扑克手牌赔率计算的常用方法。有很多例子可以在网上对holdem实施这种模拟。
http://www.codeproject.com/KB/game/MoreTexasHoldemAnalysis1.aspx
Pokersource和统计文章都是不错的建议。但这最好用蒙特卡罗模拟来完成,这是一种有用,简单且功能强大的方法来处理这类难题。
与奥马哈Hi-lo一样,与Hold'em
一样如果您有相当强大的C能力,请查看 pokersource 。这很简单,我担心,但你要找的一些东西很复杂。如果您可以获得正确的输入格式(也不容易),使用该库的poker-eval程序可能会执行您想要的大部分操作。诸如这一个或这个也使用这个库AFAIK。
不过,情况可能更糟,你可能想要像Omaha Hi-lo那样计算一些棘手的东西......
看看这里:
http:// specialk-coding .blogspot.com / 2010/04 /得克萨斯-扑克-7-卡evaluator_23.html
蒙特卡罗模拟通常比精确的评估者慢。
德州扑克扑克游戏评估员的完整源代码可以在这里找到:
http://www.advancedmcode.org/poker-predictor.html
它是为matlab构建的,GUI id是m编码的,但计算引擎是c ++。
它允许赔率和概率计算。在我的2.4Ghz笔记本电脑上,它可以在0.3秒内处理100000个10人游戏计算。
准确的实时计算机:-)